It is often desired to combine files for printing, i.e., to create a composite print job. For example, a user may wish to combine two documents into a single composite document. In this example, a composite print job may comprise multiple copies of the composite document. Further, a composite print job may include stapling one or more of the composite documents together.
For some purposes, a composite print job can be created using a sequence of ordinary print commands provided by the typical software application. For instance, a user may make multiple copies of a composite document, which is to be created from two documents, by issuing a print command for the first document and then another print command for the second document. This group of two print commands causes the printing of one copy of the composite document, and multiple groups of two print commands causes the printing of multiple copies of the composite document. If the user desires, for example, 10 copies of the composite document, the user needs to issue 10 groups of print commands. However, the repetition involved is inefficient and tiresome. The user could issue one print command that provides for printing 10 copies of the first document, and then another print command that provides for 10 copies of the second document. While this would reduce the number of print commands required, it would require manual assembly of the 10 composite document copies. As before, the manual assembly of composite documents is inefficient and tiresome. Moreover, other purposes cannot be accomplished using the print commands ordinarily provided in application software. For example, application software ordinarily does not provide the capability to staple three separate documents together.
Software has been provided to solve these problems. Specifically, this software is adapted to create a composite print job from documents or other separate files that are available electronically. A particularly efficient example of such software is manufactured and marketed by Sharp Laboratories of America, Inc., under the trademark SHARPDESK®. This software may be thought of as providing two modules which will be referred to as a document identification module and a document combining module. The document identification module permits the user to enter the various documents or files into a designated memory (a “repository”). The document combining module is then invoked by the user to read the documents from the repository and print the documents according to user instructions. The user instructions are input via a user interface that presents an array of choices. The user interface includes a means for selecting or otherwise identifying the printer to be used.
The documents are created by one or more applications, e.g., a word processing, spreadsheet, browser, database, drawing, scanning, graphic image processing, or other program running on the underlying operating system of a computer. The documents are created, stored, and manipulated by the application in an application specific document format.
In the printing process, the application converts the document into the particular printer independent file format (“PIFF”) it supports in cooperation with the operating system. Typically, the operating system is a Microsoft Windows® operating system. In a Windows environment, when a user instructs an application to print a document, the application creates a device context, draws objects to the device context, and then calls a graphics device interface (“GDI”). The GDI converts the GDI data to device dependent interface (DDI) data which is passed to a document combining device driver. In this example, the document combining device driver then converts the DDI data into the particular printer independent file format (“PIFF”) that is supported by the document combining module, such as Microsoft Windows® EMF (enhanced metafile), TIFF (Tagged Image File Format) version 6.0, or Adobe PDF (portable document format). It is in this way that the application converts the document into the particular printer independent file format (“PIFF”) that it supports, such as EMF, TIFF, or PDF.
The SHARPDESK document identification module receives the documents in the PIFF and stores the documents in the same PIFF format in the repository. The user identifies the documents to be included in the composite print job by providing a “print file” command for each document.
After all of the documents have been identified, the document combining module manipulates the documents according to user instructions in the PIFF. Thereafter, the document combining module calls a printer driver that is specific to the printer selected by the user for printing the composite job. The printer driver converts the documents into a printer dependent file format (“PDFF”) required by the printer.
The inventor has recognized that it would be desirable to improve the print quality of composite print jobs. The prior art software for creating a composite print job manipulates data in a PIFF rather than a PDFF because neither the document identification module nor the document combining module “knows” the format required by the printer—only the printer driver has this information. However, this results in a lack of capability to optimize the print job. Particularly, the prior art software must employ one of two strategies. In one strategy, the software assumes an “ideal” printer. However, if the printer to which the print job is actually sent is not an “ideal” printer, some print features or capabilities may be lost in the process of printing. In the alternative strategy, the software assumes a “worst-case” printer in an attempt to avoid this problem.
However, if the printer is better than worst case, use of some desirable features or capabilities may be avoided unnecessarily.
Accordingly, there is a need for a method and apparatus for building a composite print job that solves the aforementioned problems and meets the aforementioned needs.